// 使用连接池连接 MySQL 数据库，避免频繁创建和销毁连接带来的性能开销。
import mysql from 'mysql2';

// 建立连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'demo',
  waitForConnections: true,
  connectionLimit: 10, // 连接池最大连接数
  maxIdle: 10, // 最大空闲连接数
  idleTimeout: 1000 * 60,
  queueLimit: 0
});
 
// pool 对象和 connection 对象的 query 和 execute 方法的用法相同!
pool.execute('SELECT * FROM Users WHERE username = ?', ['user1'], (err, results, fields) => {
  if (err) throw err;
  console.log(results);
  console.log(fields);
  
});

pool.execute('INSERT INTO Users (username, email, password) VALUES (?, ?, ?)', ['user123', '3334432@qq.com', '123456'], (err, results, fields) => {
  if (err) throw err;
  console.log(results);
  console.log(fields);  
  // 关闭连接池
  pool.end();
});